Parallax: Derinliği Matematikle Uydurmak
Ekranda gördüğümüz o uçsuz bucaksız manzaranın içinde aslında Z ekseni diye bir şey yok. Gökyüzü, bulutlar ve çimlerden oluşan o ana sayfa sahnesi; tamamen düz, iki boyutlu bir yalandan ibaret. Gözümüzün "derinlik" olarak okuduğu o muazzam boşluk, 3 boyutlu bir modelleme başarısı değil; sadece üç farklı katmanın, kullanıcının tek bir kaydırma (scroll) hareketine farklı matematiksel katsayılarla cevap vermesinden doğan bir illüzyon.
Hızın Yarattığı Boşluk
Sistemin arkasındaki kural tek ve acımasız bir satırdan oluşuyor: Her katmanın konumu, kaydırma miktarı çarpı kendi katsayısıdır. Uzaktaki o devasa gökyüzü neredeyse sabit kalarak ufak bir katsayı alırken, hemen önümüzdeki çimler bizimle aynı hızda, agresif bir şekilde yukarı tırmanıyor.
Ancak bu katsayıları rastgele atamak, kurduğunuz o kırılgan evreni anında parçalar. Aralarındaki matematiksel boşluğun kusursuz ve tutarlı bir ritmi olmalıdır (0,1 - 0,35 - 0,7 gibi). İki katmanın hızı birbirine çok yaklaşırsa derinlik hissi boğulur; çok uzaklaşırlarsa sahnenin bütünlüğü dağılır. Çünkü ekranda derinlik, piksellerle çizilen görsel bir veri değil; sadece ustaca kurgulanmış bir hız farkıdır.
"Derinlik bir görsel değil, bir hız farkıdır."
Gözü Yormadan Aldatma Sanatı
Bu matematiksel illüzyonu saniyeler içinde çökertecek iki büyük düşman var: Takılma ve aşırılık.
Takılmayı önlemek için, pozisyonu her kaydırma eyleminde (scroll event) kaba bir şekilde güncellemek yerine; her şeyi tek bir animasyon döngüsünün içine alıp hedefe yumuşak bir interpolasyonla yaklaşıyorum. Katman bir anda hedefine zıplamıyor; nefes alarak, kendi organik akışında oraya yetişiyor.
Aşırılık ise çok daha sinsi bir tuzak. Katsayıyı büyüttükçe sahnenin daha da derinleşeceğini sanıyorsunuz; ancak o görünmez eşiği aştığınız an, mekan derinliğini kaybedip sadece "kaygan" ve kontrolsüz bir yüzeye dönüşüyor. O doğru matematiksel değeri kod editöründe ekrana bakarak değil; mouse’u kaydırırken kendi fiziksel ritminizle, adeta vücudunuzla hissederek buluyorsunuz.
Son dokunuş ise farenin her hareketini mikro bir gecikmeyle takip eden metinler ve yıldızlar. Arka planda çalışan altı üstü birkaç satırlık basit bir matematik denklemi... Ama sonuç? Sadece aşağı yukarı kayan ruhsuz bir sayfa değil; siz ona baktığınızda, ekrandan size geri bakan canlı bir organizma.
gen.d
tasarımcı & geliştirici — LifeTwin'in kurucusu